Non-volatile memory is used to store data in a device where the data has to be maintained even when the device is not connected to a power supply. For example, non-volatile memory may be used in personal computers to store instructions for completing basic tasks, such as a BIOS interfacing with a keyboard or accessing a disk drive. A common type of non-volatile memory is an EEPROM (electrically erasable programmable read-only memory). Unlike some other types of non-volatile memory devices, data in EEPROM devices can be erased and rewritten.
Currently, single poly EEPROM devices generally require a large cell area. This limits their applications to a few tens of cells per die. The large cell area might be caused by using both a control gate and an erase gate. The high voltages used for programming and erasure generally necessitate that the nwell/nmoat overlap and that the nwell/nmoat space are relatively large. This makes overall EEPROM cells large (in many instances, 200 μm2 to 500 μm2 per cell).